class Solution {
    public:
        long long countSubarrays(vector<int>& nums, int k) {
            long long ans=0;
            int cnt=0;
            int Max=nums[0];
            for(int i=0;i<nums.size();i++){
               Max= max(Max,nums[i]);
            }
            int left=0;
            for(int right=0;right<nums.size();right++){
                if(nums[right]==Max){
                    cnt++;
                }
                while(cnt>=k){
                    if(nums[left]==Max){
                        cnt--;
                    }
                    left++;
                }
                ans+=left;
            }
            return ans;
        }
    };